package com.gofun.framework.dubbo.core.environment;

/**
 * @Project       : framework-dubbo-provider
 * @Program Name  : com.ljt.framework.dubbo.provider.property.DubboPropertyEnum.java
 * @Description   : Dubbo相关属性枚举
 * @Author        : wangchao
 * @Creation Date : 2016年5月18日 下午6:01:45 
 * @ModificationHistory  
 * Who          When             What 
 * ----------   -------------    -----------------------------------
 * wangchao     2016年5月18日        create
 */
public enum DubboPropertyEnum {
	
	DUBBO_CONTAINER("dubbo.container","要加载的容器"),
	
	DUBBO_APPLICATION_NAME("dubbo.application.name","应用名称配置"),
	
	DUBBO_APPLICATION_OWNER("dubbo.application.owner","应用负责人配置"),
	
	DUBBO_REGISTRY_ADDRESS("dubbo.registry.address","注册中心地址"),
	
	DUBBO_PROTOCOL_NAME("dubbo.protocol.name","声明要暴露的服务"),
	
	DUBBO_PROTOCOL_DUBBO_PORT("dubbo.protocol.dubbo.port","声明要暴露的服务端口"),
	
	DUBBO_PROTOCOL_DUBBO_TIMEOUT("dubbo.protocol.dubbo.timeout","超时设置"),
	
	DUBBO_PROTOCOL_DUBBO_SERIALIZATION("dubbo.protocol.dubbo.serialization","序列化协议"),
	
	TIMEOUT("dubbo.provider.timeout","远程服务调用超时时间(毫秒) ,默认1000,可选 "),
	
	HOST("dubbo.provider.host","服务主机名，多网卡选择或指定VIP及域名时使用，为空则自动查找本机IP",true),
	
	DUBBO_REFERENCE_URL("dubbo.reference.url","提供直连服务地址，仅用于开发及测试",true),
	
	DUBBO_PROTOCOL_REST_PORT("dubbo.protocol.rest.port",""),
	
	DUBBO_PROTOCOL_REST_THREADS("dubbo.protocol.rest.threads",""),
	
	DUBBO_PROTOCOL_REST_ACCEPTS("dubbo.protocol.rest.accepts",""),
	
	DUBBO_PROTOCOL_REST_TIMEOUT("dubbo.protocol.rest.timeout",""),
	
	DUBBO_PROTOCOL_REST_CONTEXTPATH("dubbo.protocol.rest.contextpath",""),
	
	DUBBO_PROTOCOL_REST_SERVER("dubbo.protocol.rest.server",""),
	
	DUBBO_SERVICE_LOADBALANCE("dubbo.service.loadbalance","负载均衡策略");
	
	public String code;
	
	public String text;
	
	public boolean ignore; 
	
	private DubboPropertyEnum(String code,String text) {
		this(code, text, false);
	}
	
	private DubboPropertyEnum(String code,String text,boolean ignore) {
		this.code = code;
		this.text = text;
		this.ignore = ignore;
	}

}
